<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <input type="text" name="" id="input">
  <script>
    function debounce(fn,delay=500){
      let timer=null
      return function(){
        if(timer){
          clearTimeout(timer)
        }
        timer=setTimeout(()=>{
          fn.apply(this,arguments)
          timer=null;
        },delay)
      }
    }
    document.getElementById('input').addEventListener('keyup',debounce(function(){
      console.log(input.value);
    },500),false)
  </script>
</body>
</html>